草庐IT

相当于 PyQuery 或 Nokogiri 的 PHP?

全部标签

ruby - 在 Nokogiri 的所有标签之间抓取文本?

抓取html标签之间所有文本的最有效方法是什么?hi....一堆被html标签包围的文本。 最佳答案 doc=Nokogiri::HTML(your_html)doc.xpath("//text()").to_s 关于ruby-在Nokogiri的所有标签之间抓取文本?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1512850/

ruby-on-rails - 如何使用 Nokogiri 解析 HTML 表格?

我正在尝试解析一个表,但我不知道如何从中保存数据。我想将每一行中的数据保存为:['Rawname1',2,094,0,017,0,098,0,113,0,452]示例表是:html=TablenameColumnname1Columnname2Columnname3Columnname4Columnname5Rawname12,0940,0170,0980,1130,452...Rawname52,0940,0170,0980,1130,452EOT我的爬虫代码是:doc=Nokogiri::HTML(open(html),nil,'UTF-8')tables=doc.css('div

ruby-on-rails - 相当于 ruby​​/rails 中的 Array.some

我想在rails中做Array.some的等价物。这是一个应用于我的用例的示例,它是一种更复杂的include?(我想将其应用于*args):ary=[:a,:b,:c,d::x,e::y]#=>[:a,:b,:c,{:d=>:x,:e=>:y}]search=:econtained=ary.some{|x|x==search||x.try(:key?,search)}#=>trueassertcontained,"Weshouldhavefound#{search}"我可以用ary.map来做到这一点,但这意味着遍历整个数组然后再次测试它的内容。我还可以使用ary.drop_whil

ruby-on-rails - Nokogiri 是针对 LibXML 版本 2.7.7 构建的,但已动态加载 2.7.3

在Rails3中,我注意到每次调用框架时,无论是从rake、railsserver还是其他任何地方,我都会收到以下警告:NokogiriwasbuiltagainstLibXMLversion2.7.7,buthasdynamicallyloaded2.7.3在Google上搜索会得到一些博客文章,所有这些文章都建议使用显式库和包含路径重建Nokogiri。例如:http://mrflip.github.com/2009-08/nokogiri-hates-libxml2-on-osx.html但是,这并没有解决我的问题。输入nokogiri-v给我这个:---warnings:[]r

ruby - 在 ubuntu 14.0.4 (Ruby 1.8.7) 中安装 nokogiri 时出错

我正在尝试在安装了Ruby1.8.7的Ubuntu14.0.4中安装bundle(捆绑安装)。它无法安装bundle并显示错误:Anerroroccurredwhileinstallingnokogiri(1.4.7),andBundlercannotcontinue.Makesurethat`geminstallnokogiri-v'1.4.7'`succeedsbeforebundling.所以现在我尝试获取nokogiri1.4.7,但显示失败$sudogeminstallnokogiri-v'1.4.7'ERROR:Errorinstallingnokogiri:ERROR:F

ruby - 在 Nokogiri 中,如何找到文档中某个节点之前的所有节点?

使用Rails5、Ruby2.4。如果我使用Nokogiri解析定位了一个节点,我将如何找到在我找到的节点之前出现但不包含该找到的节点的所有节点?也就是说,假设我的文档是HelloHowdyNext然后我运行一个查询node=doc.search('//*[contains(@class,"def")]').first我如何找到所有前面的节点(不包括我刚刚确定的节点)?我期望的节点是HelloHowdy 最佳答案 您只需要遍历叶节点,直到到达目标节点。#Nodetoexcludenode=doc.search('//*[contai

ruby-on-rails - 什么是 ruby​​ 相当于 python 的 getattr

我是Rails的新手,正在尝试进行一些重构(在app/views/shared中放置一个列出标题的部分渲染器)渲染器显示日期和标题。但是渲染器的不同用户使用不同的日期。通过重构,我有一部分title_date=list_titles.created_on对于我想要的渲染器的其他用户title_date=list_titles.updated_on那么我可以使用我传递的字符串吗(使用:locals参数)?我知道在Python中我可以做到date_wanted='created_on'title_date=getattr(list_titles,date_wanted)但我不知道如何在ru

Ruby String#scan 相当于返回 MatchData

正如问题标题中所述,Ruby字符串上是否有等效于String#Scan的方法?但不是只返回每个匹配项的列表,而是返回一个MatchData数组?例如:#Matchesasetofcharactersbetweenunderscorepairs"foo_bar__baz_hashbang".some_method(/_[^_]+_/)#=>[#<MatchData"_bar_"&rt,<MatchData"_baz_"&rt]或者任何我能得到相同或相似结果的方法都是好的。我想这样做是为了找到Ruby字符串中“字符串”的位置和范围,例如"goodbyeand"world"insid

ruby - 我如何在 Nokogiri 中获取下一个 HTML 元素?

假设我的HTML文档是这样的:NewsSomeinterestingnewshereSportsBaseballisfun!我可以使用以下代码获取标题div:require'rubygems'require'nokogiri'require'open-uri'url="mypage.html"doc=Nokogiri::HTML(open(url))doc.css(".headline").eachdo|item|putsitem.textend但我如何访问以下p标签中的内容,以便News与Someinterestingnewshere等相关? 最佳答案

ruby-on-rails - nokogiri - 错误 : Failed to build gem native extension

我更新到Lion的开发人员版本,发现我无法再启动Rails应用程序。每当我尝试sudobundleinstall时,我都会收到以下错误:Installingnokogiri(1.4.4)withnativeextensions/Library/Ruby/Site/1.8/rubygems/installer.rb:551:in`build_extensions':ERROR:Failedtobuildgemnativeextension.(Gem::Installer::ExtensionBuildError)/System/Library/Frameworks/Ruby.framew